package com.dims_hsrc.data.service.impl;

import com.dims_hsrc.common.utils.uuid.IdUtils;
import com.dims_hsrc.data.domain.DataStructDemand;
import com.dims_hsrc.data.mapper.DataStructDemandMapper;
import com.dims_hsrc.data.service.IDataStructDemandService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.List;

/**
 * 高速列车结构需求Service业务层处理
 *
 * @author 赵浩然
 * @date 2025-03-18
 */
@Service
@Transactional
public class DataStructDemandServiceImpl implements IDataStructDemandService {
    @Resource
    private DataStructDemandMapper mapper;

    /**
     * 查询结构需求
     *
     * @param id 结构需求主键
     * @return 结构需求
     */
    @Override
    public DataStructDemand getOne(String id) {
        return mapper.getOne(id);
    }

    /**
     * 查询结构需求列表
     *
     * @param dataStructDemand 结构需求
     * @return 结构需求
     */
    @Override
    public List<DataStructDemand> list(DataStructDemand dataStructDemand) {
        return mapper.list(dataStructDemand);
    }

    /**
     * 新增结构需求
     *
     * @param dataStructDemand 结构需求
     * @return 结果
     */
    @Override
    public int add(DataStructDemand dataStructDemand) {
        dataStructDemand.setId(IdUtils.guid());
        return mapper.add(dataStructDemand);
    }

    /**
     * 修改结构需求
     *
     * @param dataStructDemand 结构需求
     * @return 结果
     */
    @Override
    public int update(DataStructDemand dataStructDemand) {
        return mapper.update(dataStructDemand);
    }

    /**
     * 批量删除结构需求
     *
     * @param did 需求ID
     * @return 结果
     */
    @Override
    public int remove(String did) {
        return mapper.remove(did);
    }

    /**
     * 删除数据结构指标信息
     *
     * @param id ID
     * @return 结果
     */
     @Override
    public int del(String id) {
        return mapper.del(id);
    }

    /**
     * 根据结构ID查询数据结构指标列表
     *
     * @param structId 结构ID
     * @return 数据结构需求集合
     */
    @Override
    public List<DataStructDemand> getByStructId(String structId) {
        return mapper.getByStructId(structId);
    }
} 